package com.controller.user;

import com.service.user.ShoppingCarService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/** 响应购物车页的所有请求 */
@RestController
@CrossOrigin
public class ShopCarController {
  @Autowired ShoppingCarService shoppingCarService;

  /**
   * 获取购物车条目数量
   *
   * @param userId 用户编号
   * @return 购物车条目数量
   */
  @PostMapping("shoppingCar/getCarCount")
  public String getCarCount(@RequestParam("userId") String userId) {
    int count = shoppingCarService.getCarCount(userId);
    return String.valueOf(count);
  }

  /**
   * 获取用户的购物车对应页的条目
   *
   * @param userId 用户编号
   * @param pageSize 页大小
   * @param pageIndex 页索引
   * @return 用户的购物车对应页的条目
   */
  @PostMapping("shoppingCar/getCarList")
  public List getCarList(
      @RequestParam("userId") String userId,
      @RequestParam("pageSize") int pageSize,
      @RequestParam("pageIndex") int pageIndex) {
    List cl = shoppingCarService.getCarList(userId, pageSize, pageIndex);
    return cl;
  }

  /**
   * 删除购物车条目
   *
   * @param userId 用户编号
   * @param itemId 购物车条目编号
   * @return 删除成功返回1，失败返回0
   */
  @PostMapping("shoppingCar/delCarItem")
  public String delCarItem(
      @RequestParam("userId") String userId, @RequestParam("itemId") String itemId) {
    int ret = shoppingCarService.delCarItem(itemId);
    return String.valueOf(ret);
  }
}
